// 断点枚举，与Tailwind默认断点一致
export enum Breakpoint {
  SM = 'sm',   // 640px
  MD = 'md',   // 768px
  LG = 'lg',   // 1024px
  XL = 'xl',   // 1280px
  XXL = '2xl', // 1536px
}

// 响应式值类型
export type ResponsiveValue<T> = {
  default: T;
  sm?: T;
  md?: T;
  lg?: T;
  xl?: T;
  '2xl'?: T;
};

// 设备类型
export enum DeviceType {
  MOBILE = 'mobile',
  TABLET = 'tablet',
  DESKTOP = 'desktop',
}

// 方向类型
export enum Orientation {
  PORTRAIT = 'portrait',
  LANDSCAPE = 'landscape',
}

// 响应式上下文接口
export interface ResponsiveContext {
  breakpoint: Breakpoint;
  deviceType: DeviceType;
  orientation: Orientation;
  isMobile: boolean;
  isTablet: boolean;
  isDesktop: boolean;
  isPortrait: boolean;
  isLandscape: boolean;
}

// 手势事件类型
export interface TouchEvent {
  direction: 'left' | 'right' | 'up' | 'down';
  distance: number;
  velocity: number;
  isSwipe: boolean;
} 